# coding=utf-8

__author__ = 'Arthur Fortes'

from django.db import models
from datetime import *
from django.contrib.localflavor.br.br_states import STATE_CHOICES


class Tipo_Empresa(models.Model):
    nome = models.CharField('Nome', max_length=150, unique=True)

    class Meta:
        verbose_name = "Tipo de Empresa"
        verbose_name_plural = 'Tipos de Empresa'

    def __unicode__(self):
        return self.nome


class Empresa(models.Model):
    TYPE_PERSON_CHOICE = (('0', 'Pessoa Juridica'), ('1', 'Pessoa Fisica'))

    nome = models.CharField('Nome', max_length=50)
    nomefantasia = models.CharField('Nome Fantasia', max_length=30, blank=True, null=True)
    pessoa = models.CharField('Tipo', max_length='2', choices=TYPE_PERSON_CHOICE, default="0")
    tipo = models.ManyToManyField(Tipo_Empresa)
    cnpj = models.CharField('CNPJ', blank=True, null=True, max_length=18)
    cpf = models.CharField('CPF', blank=True, null=True, max_length=18)
    rg = models.CharField('RG', blank=True, null=True, max_length=18)
    inscricaoestadual = models.FloatField('Inscrição Estadual', max_length=20, blank=True, null=True)
    telefone = models.CharField('Telefone', max_length=20)
    emailempresa = models.EmailField('Email da Empresa', max_length=50)
    endereco = models.CharField('Endereço', max_length=50)
    cep = models.CharField('CEP', max_length=15)
    bairro = models.CharField('Bairro', max_length=50)
    cidade = models.CharField('Cidade', max_length=30, default='Teresina')
    estado = models.CharField('Estado', max_length=2, choices=STATE_CHOICES, default='PI')
    observacao = models.TextField('Observação', blank=True, null=True)
    site = models.URLField('Site da empresa', blank=True, null=True)
    facebook = models.URLField('Facebook', blank=True, null=True)
    twitter = models.URLField('Twitter', blank=True, null=True)
    datacadastro = models.DateTimeField(default=datetime.now, blank=True, null=True)

    #Vendedor
    comissao = models.DecimalField('Comissão %', blank=True, null=True, default=0, max_digits=5, decimal_places=2)
    limitecompra = models.DecimalField('Limite da Compra R$', blank=True, null=True, max_digits=10, decimal_places=2,
        default=0.0)
    tabelaprecovenda = models.DecimalField('Acressimo na tabela de preço %', blank=True, null=True, default=0,
        max_digits=5, decimal_places=2)


    class Meta:
        verbose_name_plural = 'Empresas'
        verbose_name = 'Empresa'

    def __unicode__(self):
        return  self.nome


class Contatos(models.Model):
    forn = models.ForeignKey(Empresa)
    nome = models.CharField(max_length=150, unique=True, blank=True, null=True)
    aniversario = models.DateField('Aniversário', blank=True, null=True)
    telefoneresponsavel = models.CharField('Telefone do Responsável', max_length=20, blank=True, null=True)
    emailresponsavel = models.EmailField('E-mail', max_length=50, blank=True, null=True)

    class Meta:
        verbose_name = "Contato"
        verbose_name_plural = 'Contatos'

    def __unicode__(self):
        return self.nome
